home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / uddi.nasl < prev    next >
Text File  |  2005-03-31  |  3KB  |  114 lines

  1. #
  2. # Copyright 2002 by John Lampe...j_lampe@bellsouth.net
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6. #
  7.  
  8. if(description)
  9. {
  10.     script_id(11140);
  11.     script_version ("$Revision: 1.13 $");
  12. #   script_cve_id("CVE-MAP-NOMATCH");
  13.     name["english"] = "UDDI detection";
  14.     script_name(english:name["english"]);
  15.     desc["english"] = "
  16. The tested Web server seems to be friendly to UDDI requests.  
  17. The server could be potentially offering web services
  18. under some other directory (we only tested the web root directory)
  19.     
  20. Risk factor : Low";
  21.  
  22.     script_description(english:desc["english"]);
  23.     summary["english"] = "Find UDDI";
  24.     script_summary(english:summary["english"]);
  25.     script_category(ACT_GATHER_INFO);
  26.     script_copyright(english:"This script is Copyright (C) 2002 John Lampe...j_lampe@bellsouth.net");
  27.     family["english"] = "General";
  28.     script_family(english:family["english"]);
  29.     script_dependencies("find_service.nes");
  30.     script_require_ports("Services/www", 80);
  31.     exit(0);
  32. }
  33.  
  34. #
  35. # The script code starts here
  36. #
  37.  
  38.  
  39.  
  40.  
  41. include("uddi.inc");
  42. include("http_func.inc");
  43.  
  44. port = get_http_port(default:80);
  45.  
  46.  
  47. if(!get_port_state(port))exit(0);
  48. mypath = "/";
  49.  
  50. mymessage = create_uddi_xml(ktype:"UDDI_QUERY_FBUSINESS", path:mypath, key:"", name:"e");  #loop through ETAOIN?
  51. soc = open_sock_tcp(port);
  52.  
  53. if(soc) 
  54. {
  55.   send(socket:soc, data:mymessage);
  56.   getreply = http_recv(socket:soc);
  57.   close(soc);
  58. }
  59. else
  60. {
  61.   exit(0);
  62. }
  63.  
  64.  
  65.  
  66. mystr = strstr(getreply, "serviceKey");
  67. if (!mystr) 
  68. {
  69.    soaptest = strstr(getreply,"soap:Envelope");
  70.    if (soaptest) {
  71.       mywarning = string("The server seems to accept UDDI queries.  This could indicate\n");
  72.       mywarning = string(mywarning, " that the server is offering web services");
  73.       security_warning(port:port, data:mywarning);
  74.       }
  75.     exit(0);
  76. }
  77.  
  78. flag = 0;
  79. mykey = "";
  80. for (i=12; flag < 1 ; i = i + 1) 
  81. {                        #jump over servicekey=
  82.     if ( (mystr[i] < "#") && (mystr[i] > "!") ) # BLECH!
  83.         flag = flag + 1;
  84.    else 
  85.        mykey = string(mykey, mystr[i]);
  86.     
  87. }
  88.  
  89. mymessage = create_uddi_xml(ktype:"UDDI_QUERY_GSERVICE_DETAIL", path:mypath, key:mykey);
  90.  
  91. soc = open_sock_tcp(port);
  92. if (soc) 
  93. {
  94.    send(socket:soc, data:mymessage);
  95.    getreply = http_recv(socket:soc);
  96. }
  97.  
  98. if (egrep(pattern:mykey, string:getreply)) 
  99. {
  100.         mywarning = string("The server is accepting UDDI queries.  This indicates\n");
  101.     mywarning = string(mywarning, " that the server is offering web services");
  102.     security_warning(port:port, data:mywarning);
  103.         exit(0);
  104. }
  105.  
  106. if (egrep(pattern: ".*200 OK.*", string:getreply)) 
  107. {
  108.         mywarning = string("The server seems to accept UDDI queries.  This could indicate\n");
  109.     mywarning = string(mywarning, " that the server is offering web services");
  110.     security_warning(port:port, data:mywarning);
  111.     exit(0);
  112. }
  113.  
  114.